package Map;
import java.util.HashMap;
import java.util.Map;

/**
 * java.util.Map
 * Map体现的样子是一个多行两列的表格,其中左列称为Key,右侧称为value
 * Map总是根据key获取对应的value
 * Map要求key不允许重复(key的equals方法作为判定重复的依据)
 * <p>
 * 常用实现类:
 * java.util.HashMap,散列表,当今查询速度最快的数据结构.
 */
public class MapDemo1 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        /*
        V put(K k,V v)
        将一组键值存入Map,因为Map要求不允许有重复的key,因此若使用已有的key存放value
        那么就是替换value操作,此时方法返回值为被替换的value,否则返回值为null.
         */
        Integer v = map.put("语文", 99);
        System.out.println(v);
        map.put("数学", 98);
        map.put("英语", 97);
        map.put("物理", 96);
        map.put("化学", 99);
        System.out.println(map);
        v=map.put("语文", 65);
        System.out.println(v);

        v=map.get("数学");
        System.out.println("数学:"+v);
        v=map.get("体育");
        System.out.println("体育:"+v);

        v=map.remove("化学");
        System.out.println(v);
        System.out.println(map);

        System.out.println("size"+map.size());

        boolean ck=map.containsKey("语文");
        System.out.println(ck);
        boolean vc=map.containsValue(56);
        System.out.println(vc);
    }
}
